package net.oschina.arvin.sqlbuilder;

import net.oschina.arvin.sqlbuilder.annotations.*;
import net.oschina.arvin.sqlbuilder.enums.ColumnMapStrategy;

import java.beans.Transient;
import java.util.Date;

/**
 * @author Arvin
 * @time 2017/11/13 14:22
 */
@Table(name = "sys_user", mapStrategy = ColumnMapStrategy.UNDERLINE)
public class User {

    /** ID */
    @PrimaryKey(autoIncrement = true)
    @Column(updateIgnore = true)
    private Long id;
    //@PrimaryKey(useUuid = true)
    private String uuid;
    /** 名称 */
    @NotNull
    private String name;
    /** 删除标识：1否，2是 */
    @Column(name = "is_deleted")
    private int deleted;
    /** 创建人 */
    @IgnoreField
    private long createUserId;
    /** 创建时间 */
    @Column(useCurrentTimeWhenAdd = true, updateIgnore = true)
    private Date createTime;
    /** 更新时间 */
    @Column(useCurrentTimeWhenUpdate = true)
    private Date updateTime;
    /** 帐号 */
    private String passport;
    /** YY */
    private String yy;
    /** yyuid */
    private Long yyuid;
    /** 手机 */
    private String mobile;
    /** 邮箱 */
    private String email;
    /** 微信号 */
    private String weixin;
    /** QQ 号码 */
    @InsertIncludeNull
    private String qq;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getDeleted() {
        return deleted;
    }

    public void setDeleted(int deleted) {
        this.deleted = deleted;
    }

    public long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(long createUserId) {
        this.createUserId = createUserId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getPassport() {
        return passport;
    }

    public void setPassport(String passport) {
        this.passport = passport;
    }

    public String getYy() {
        return yy;
    }

    public void setYy(String yy) {
        this.yy = yy;
    }

    public Long getYyuid() {
        return yyuid;
    }

    public void setYyuid(Long yyuid) {
        this.yyuid = yyuid;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getWeixin() {
        return weixin;
    }

    public void setWeixin(String weixin) {
        this.weixin = weixin;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }
}
